package com.miplus.ccrm.core.controller.vo.credit;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class DistDetailListResVo {
    /**
     * 催收单位
     */
    private String grpname;

    /**
     * 分案方式 自动/人工
     */
    private String disttypedsc;

    /**
     * 案件号
     */
    private String creditcaseid;

    /**
     * 案件号
     */
    private String serialNumber;



    /**
     * 产品类型
     */
    private String prodTypeDsc;

    /**
     * 分案批次号
     */
    private String distbatchid;

    /**
     * 分案说明
     */
    private String distbatchname;

    /**
     * 分案策略ID
     */
    private String distributorid;

    /**
     * 分案策略名称
     */
    private String distributorname;

    /**
     * 分案时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date distdt;

    /**
     * 分案人
     */
    private String distusr;

    /**
     * 绑定时长（天）
     */
    private Integer binddays;

    /**
     * 到期时间（分案结束时间）
     */
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date bindenddt;

    /**
     *   委案生效时间
     */
    private Date cpStartTime;
    /**
     * 分案时逾期期数
     */
    private String overdueStage;

    /**
     * 分案时逾期天数
     */
    private String cpOverdueDays;
    /**
     * 分案时逾期金额
     */
    private String cpTotalamt;

    /**
     * 分案时透支本金
     */
    private String cpAmt;


    /**
     * 分案时逾期利息
     */
    private String cpInterest;

    /**
     * 分案时逾期费用
     */
    private String cpCost;


    /**
     * 状态描述
     */
    private String statusdsc;

    /**
     * 派工时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date assigndt;

    /**
     * 催收员
     */
    private String sendtousr;

    /**
     * 回收时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date recycledt;

    /**
     * 回收理由
     */
    private String recycledsc;

    /**
     *  退案时逾期金额
     */
    private String retOverdueTotalamt;

    /**
     * 退案时逾期本金
     */
    private String retPreRepayPrincipal;

    /**
     * 退案时逾期利息
     */
    private String retPreRepayInterest;

    /**
     * 退案时逾期利息
     */
    private String retPreOverdueFee;

    /**
     * 退案时逾期费用
     */
    private String retPreRepayFee;

    /**
     * 退案时逾期期数
     */
    private String retOverdueStage;

    /**
     * 退案时逾期天数
     */
    private String retMthsDay;

    /**
     * 退案时还款金额
     */
    private String repaidAmount;

    /**
     * 出催时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private String closedt;


    //
    /**
     * 案件历史id
     */
    private Integer histid;

    /**
     * 动作类型：0:入催  1：分案，2：分配，3：回收，4：出催
     */
    private Integer actiontype;
    /**
     * 动作类型：0:入催, 1：分案，2：分配，3：回收，4：出催
     */
    private String actiontypeDsc;
    /**
     * 客户编号
     */
    private String customernumber;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 商户编号
     */
    private String merchantId;

    /**
     * 状态更新时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date statusdt;

    /**
     * 案件队列状态（COLLECT.QUEUE）
     */
    private String ccc;
    /**
     * 案件队列状态（COLLECT.QUEUE）
     */
    private String cccdsc;
    /**
     * 数据批次号
     */
    private String batchid;

    /**
     * 分案队列标志
     */
    private String disttag;


    /**
     * 分配方式 1：自动，2：人工
     */
    private Integer assigntype;

    /**
     * 自动分配策略ID
     */
    private Long assignid;

    /**
     * 分配批次号
     */
    private String assignbatchid;

    /**
     * 回收人
     */
    private String recycleusr;

    /**
     * 是否延期：1：延期，0：不延期
     */
    private Integer delaystatus;

    /**
     * 延期截至时间,  延期时间内，不能自动分案
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date delayenddt;

    /**
     * 实时逾期总金额
     */
    private BigDecimal overdueTotalamt;



    /**
     * 创建时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date crdt;

    /**
     * 更新时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date mddt;


    /**
     * 入催时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date indt;

    /**
     * 未到期应还金额
     */
    private BigDecimal amountnotdue;

    /**
     * 未到期应还本金
     */
    private BigDecimal unpaidprincipal;

    /**
     * 未到期应还利息
     */
    private BigDecimal unpayableinterest;

    /**
     * 案件总借据数
     */
    private Integer loanInvoiceCount;

    /**
     * 案件逾期结束数
     */
    private Integer overdueCount;

    /**
     * 逾期未还本金
     */
    private BigDecimal preRepayPrincipal;

    /**
     * 逾期未还利息
     */
    private BigDecimal preRepayInterest;

    /**
     * 逾期未还罚息
     */
    private BigDecimal preOverdueFee;

    /**
     * 逾期未还费用
     */
    private BigDecimal preRepayFee;
    /**
     * 结清应还金额(欠款总额)
     */
    private BigDecimal totalRepaidAmount;


    /**
     * 提醒下期应还金额
     */
    private BigDecimal remindRepayPrincipal;

    /**
     * 距离下一还款日天数
     */
    private Integer remindRepayDays;

    /**
     * 还款日
     */
    private Integer repayDays;

    /**
     * 委案结束日期
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date cpEndTime;


    /**
     * 最近还款时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date recentlyRepTime;


    /**
     * 应催未还金额
     */
    private BigDecimal waitAmount;

    /**
     * 最近刷新时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date accBalLastUpTime;

    //

    /**
     * 客户姓名
     */
    private String custname;
    /**
     * 证件号
     */
    private String openacctcertno;
    /**
     * 手机号
     */
    private String mobile;

    /**
     * 实际时长
     */
    private Integer actualDuration;
}
